package sv.gob.mh.dgii.model;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import org.springframework.format.annotation.DateTimeFormat;

@Entity
@Table(name = "QD_ENVIO_DENUNCIA", schema = "DEFCONTRIB")
@SequenceGenerator(name="SEQ_QD_ENVIO_DENUNCIA" , sequenceName="SEQ_QD_ENVIO_DENUNCIA")
public class QdEnvioDenuncia implements Serializable {
	private static final long serialVersionUID = 1L;
	
        private Long idEnvio;
	private Date fechaEnvio;
	private Date fechaRecepcion;
	private String estado;
	private String unidadOrigen;
	private String unidadDestino;
	private String usuario;
	
	@Id
	@Column(name = "ID_ENVIO")
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_QD_ENVIO_DENUNCIA")
	public Long getIdEnvio() {
		return idEnvio;
	}
	public void setIdEnvio(Long idEnvio) {
		this.idEnvio = idEnvio;
	}
        
	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_ENVIO", insertable = true, updatable = true, length = 7)
	@DateTimeFormat(pattern="dd/MM/yyyy")        
        public Date getFechaEnvio() {
		return fechaEnvio;
	}
	public void setFechaEnvio(Date fechaEnvio) {
		this.fechaEnvio = fechaEnvio;
	}
        
	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_RECEPCION", insertable = true, updatable = true, length = 7)
	@DateTimeFormat(pattern="dd/MM/yyyy")        
	public Date getFechaRecepcion() {
		return fechaRecepcion;
	}
	public void setFechaRecepcion(Date fechaRecepcion) {
		this.fechaRecepcion = fechaRecepcion;
	}
        
	@Column(name = "ESTADO")
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
        
	@Column(name = "UNIDAD_ORIGEN", updatable = false)
	public String getUnidadOrigen() {
		return unidadOrigen;
	}
	public void setUnidadOrigen(String unidadOrigen) {
		this.unidadOrigen = unidadOrigen;
	}
        
	@Column(name = "UNIDAD_DESTINO")
	public String getUnidadDestino() {
		return unidadDestino;
	}
	public void setUnidadDestino(String unidadDestino) {
		this.unidadDestino = unidadDestino;
	}
        
	@Column(name = "USUARIO", updatable = false)
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
}
